Electronic semiconductor memories are used in computers and other devices for storing information. The information is encoded into binary bits, which are stored in cells of the memory, with the value of each bit being represented by the electrical state of a cell. An electronic memory may be of the random access type, which readily allows changes to be made in the stored information, or of the read only type, which does not.
A computer is supplied with power from an external source, such as a battery or a connection to a utility power line. The power supplied to the computer generally is also supplied to the memories within the computer. For many applications, it is desirable that the information stored in a memory not be lost when the source of power (i.e. battery or utility power) is disconnected from the memory. For example, if a lengthy program is stored in a computer memory, it may be desirable that the program not be lost when the computer power is shut down, so that the program will be present in the memory when the computer power is turned on again. Memories that maintain their contents after loss of power are termed "non-volatile." Ferrite core memories are exemplary of non-volatile memories.
Memories that lose their contents after loss of power are termed "volatile". Semiconductor random access memories (RAMs) made using simple MOSFETs (metal oxide semiconductor field effect transistors) are exemplary of volatile memories. Generally, volatile memories are capable of high speed, low power operation, whereas non-volatile random access memories (NVRAMs) require more power and operate at lower speeds. Various specialized electronic semiconductor memories, including electrically-alterable read only memories (EAROMs) or electrically erasable programmable read only memories (EEPROMs), have been made to allow in-circuit changes in the data stored in read only memories. However, such devices generally require large amounts of time for reprogramming.
Others have recognized the need to combine the speed and low power consumption of a typical MOSFET RAM with a non-volatile memory capability. A reference discussing several possible solutions is U.S. Pat. No. 4,271,487, issued June 2, 1981 to Donald G. Craycraft et al, and assigned to NCR Corporation. That patent describes three circuits that are associated with a conventional volatile RAM element to provide non-volatile memory associated with each RAM element. Each of those circuits includes a pair of non-volatile capacitors for storing charges representative of the memory element state to be stored. Each non-volatile capacitor is connected to one of the output nodes of the volatile memory cell and includes a threshold alterable portion. When the state of the volatile RAM element is stored in the non-volatile capacitors, the threshold of the threshold-alterable portion of one or the other of the capacitors is altered, depending on the state being stored. When the power is again connected to the memory cell, and the state stored in the non-volatile portion is to be re-transferred to the volatile element, the threshold-alterable portion is turned on in one capacitor, and in the other capacitor the threshold portion is kept off, causing the two capacitors to present different capacitances to the two volatile RAM output nodes. As a result, the voltage of the two output nodes will rise at different rates. This difference in the rate of voltage rise causes the volatile portion of the element to assume the state represented by the stored charges.
The component values and tolerances for the capacitive volatile/non-volatile RAM cell of this type must be very carefully controlled to insure that the proper capacitance is applied to the cell so that the state of the cell is accurately stored on the non-volatile element and, more critically, accurately read out from the non-volatile element onto the volatile element. Slight changes or inaccuracies in the storage capacitors may result in an undesirable change in the rate of voltage rise for one or both sides of the volatile memory element, leading to inaccuracies in rewriting the volatile element.